package com.mtw.bbs.bbsUser.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mtw.bbs.bbsUser.pojo.entity.RoleMenu;

import java.util.Collection;
import java.util.List;
import java.util.Set;


/**
 * 角色菜单
 *
 * @author mo
 * @email mo
 * @date 2023-10-23 10:15:12
 */
public interface RoleMenuService extends IService<RoleMenu> {

    /**
     * 批量给角色添加菜单
     *
     * @param roleId        角色id
     * @param roleIds       菜单id列表
     * @return 是否操作成功
     */
    boolean saveBatch(String roleId, Collection<String> roleIds);

    /**
     * 删除角色拥有的菜单
     *
     * @param roleId 角色id
     * @return 是否操作成功
     */
    boolean removeByRoleId(String roleId);


    /**
     * 删除角色集合拥有的菜单
     *
     * @param roleIds 角色id集合
     * @return 是否操作成功
     */
    boolean removeByRoleIds(Collection<String> roleIds);


    /**
     * 查询角色拥有菜单id
     *
     * @param roleId 角色id
     * @return 角色拥有的菜单id集合
     */
    Set<String> queryByRoleId(String roleId);


    /**
     * 根据角色id列表查询菜单关系
     *
     * @param roleIds 角色id集合
     * @return 角色菜单关系集合
     */
    List<RoleMenu> queryByRoleIds(Collection<String> roleIds);
    
}

